	package w83b.w83bOperacionesPaso.w83bActas;

import java.io.PrintWriter;
import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.json.JSONObject;

import w83b.w83bBeans.W83bActasBean;
import w83b.w83bBeans.W83bColegiosBean;
import w83b.w83bBeans.W83bListaDelegadosBean;
import w83b.w83bBeans.W83bListaDiferenciasBean;
import w83b.w83bBeans.W83bListaEscrutiniosBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaAgrupacionesOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTablaActasNuevasOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto
			contexto.set("action",request.getParameter("action"));
		
		HashMap w83bdelegadosEscrutinioDiferencia=new HashMap();
		HashMap w83bdelegadosDelegado=new HashMap();
		/*W83bActasBean actaBean=new W83bActasBean();//NOPMD
		if(contexto.get("w83bNuevaActaBean")!=null)
			actaBean=(W83bActasBean)contexto.get("w83bNuevaActaBean");*/
		if(contexto.get("w83bdelegadosEscrutinioDiferencia")!=null)
			w83bdelegadosEscrutinioDiferencia=(HashMap)contexto.get("w83bdelegadosEscrutinioDiferencia");
		if(contexto.get("w83bdelegadosDelegado")!=null)
			w83bdelegadosDelegado=(HashMap)contexto.get("w83bdelegadosDelegado");
		W83bListaEscrutiniosBean listaEscrutinioBean=new W83bListaEscrutiniosBean();
		W83bListaDiferenciasBean listaDiferenciaBean=new W83bListaDiferenciasBean();
		W83bListaDelegadosBean listaDelegadosBean=new W83bListaDelegadosBean();
		HashMap listaEscrutiniosC1=new HashMap();
		HashMap listaEscrutiniosC1Borrados=new HashMap();
		HashMap listaEscrutiniosC2=new HashMap();
		HashMap listaEscrutiniosC2Borrados=new HashMap();
		HashMap listaDiferenciasC1=new HashMap();
		HashMap listaDiferenciasC1Borrados=new HashMap();
		HashMap listaDiferenciasC2=new HashMap();
		HashMap listaDiferenciasC2Borrados=new HashMap();
		HashMap listaDelegados=new HashMap();
		//HashMap listaDelegadosBorrados=new HashMap();
		String[] acciones=(String[])request.getParameterValues("action");
		boolean encontrado=false;
		int c=0;
		StringBuffer s=new StringBuffer("find");
		while(!encontrado&&c<acciones.length){
			if(acciones[0].equals("find")&&!acciones[c].contentEquals(s)&&acciones[c].substring(0, 4).equals("find")){
				encontrado=true;
				contexto.set("action",acciones[c]);
			}
			c++;
		}
		if(contexto.get("action").toString().equalsIgnoreCase("addEscrutiniosC1")){
			if(contexto.get("w83bListaEscrutiniosC1")!=null&&((HashMap)contexto.get("w83bListaEscrutiniosC1")).size()>0){
				listaEscrutiniosC1=(HashMap)contexto.get("w83bListaEscrutiniosC1");
			}
			listaEscrutinioBean.setHombres(request.getParameter("w83bNuevaListaEscrutinioC1Bean.hombres"));
			listaEscrutinioBean.setMujeres(request.getParameter("w83bNuevaListaEscrutinioC1Bean.mujeres"));
			listaEscrutinioBean.setSindicato(request.getParameter("w83bNuevaListaEscrutinioC1Bean.sindicato").toUpperCase());
			listaEscrutinioBean.setDescripcionSindicato(request.getParameter("descripcionSindicato").toUpperCase());
			listaEscrutinioBean.setNumVotos(request.getParameter("w83bNuevaListaEscrutinioC1Bean.numVotos"));
			listaEscrutinioBean.setNuevo(true);
			listaEscrutinioBean.setCodColegio(((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod1());
			listaEscrutinioBean.setFlag(W83bClsConstantes.MODO_ALTA);
			listaEscrutiniosC1.put(request.getParameter("w83bNuevaListaEscrutinioC1Bean.sindicato").toUpperCase(), listaEscrutinioBean);
			contexto.set("w83bListaEscrutiniosC1", listaEscrutiniosC1);
			String claveH=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod1()+"#H#"+request.getParameter("w83bNuevaListaEscrutinioC1Bean.sindicato");
			String claveM=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod1()+"#M#"+request.getParameter("w83bNuevaListaEscrutinioC1Bean.sindicato");
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaEscrutinioC1Bean.hombres"))&&!request.getParameter("w83bNuevaListaEscrutinioC1Bean.hombres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC1Bean.hombres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveH)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveH))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveH));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveH,String.valueOf(valor));
			}
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaEscrutinioC1Bean.mujeres"))&&!request.getParameter("w83bNuevaListaEscrutinioC1Bean.mujeres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC1Bean.mujeres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveM)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveM))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveM));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveM, String.valueOf(valor));
			}
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("addEscrutiniosC2")){
			listaEscrutinioBean.setHombres(request.getParameter("w83bNuevaListaEscrutinioC2Bean.hombres"));
			listaEscrutinioBean.setMujeres(request.getParameter("w83bNuevaListaEscrutinioC2Bean.mujeres"));
			listaEscrutinioBean.setSindicato(request.getParameter("w83bNuevaListaEscrutinioC2Bean.sindicato").toUpperCase());
			listaEscrutinioBean.setDescripcionSindicato(request.getParameter("descripcionSindicato").toUpperCase());
			listaEscrutinioBean.setNumVotos(request.getParameter("w83bNuevaListaEscrutinioC2Bean.numVotos"));
			listaEscrutinioBean.setNuevo(true);
			listaEscrutinioBean.setCodColegio(((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod2());
			listaEscrutinioBean.setFlag(W83bClsConstantes.MODO_ALTA);
			if(contexto.get("w83bListaEscrutiniosC2")!=null&&((HashMap)contexto.get("w83bListaEscrutiniosC2")).size()>0){
				listaEscrutiniosC2=(HashMap)contexto.get("w83bListaEscrutiniosC2");
			}
			listaEscrutiniosC2.put(request.getParameter("w83bNuevaListaEscrutinioC2Bean.sindicato").toUpperCase(), listaEscrutinioBean);
			contexto.set("w83bListaEscrutiniosC2", listaEscrutiniosC2);
			String claveH=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod2()+"#H#"+request.getParameter("w83bNuevaListaEscrutinioC2Bean.sindicato");
			String claveM=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod2()+"#M#"+request.getParameter("w83bNuevaListaEscrutinioC2Bean.sindicato");
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaEscrutinioC2Bean.hombres"))&&!request.getParameter("w83bNuevaListaEscrutinioC2Bean.hombres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC2Bean.hombres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveH)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveH))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveH));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveH,String.valueOf(valor));
			}
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaEscrutinioC2Bean.mujeres"))&&!request.getParameter("w83bNuevaListaEscrutinioC2Bean.mujeres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC2Bean.mujeres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveM)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveM))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveM));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveM, String.valueOf(valor));
			}
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("addDiferenciasC1")){
			listaDiferenciaBean.setHombres(request.getParameter("w83bNuevaListaDiferenciaC1Bean.hombres"));
			listaDiferenciaBean.setMujeres(request.getParameter("w83bNuevaListaDiferenciaC1Bean.mujeres"));
			listaDiferenciaBean.setSindicato(request.getParameter("w83bNuevaListaDiferenciaC1Bean.sindicato").toUpperCase());
			listaDiferenciaBean.setDescripcionSindicato(request.getParameter("descripcionSindicato").toUpperCase());
			listaDiferenciaBean.setNuevo(true);
			listaDiferenciaBean.setCodColegio(((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod1());
			listaDiferenciaBean.setFlag(W83bClsConstantes.MODO_ALTA);
			if(contexto.get("w83bListaDiferenciasC1")!=null&&((HashMap)contexto.get("w83bListaDiferenciasC1")).size()>0){
				listaDiferenciasC1=(HashMap)contexto.get("w83bListaDiferenciasC1");
			}
			listaDiferenciasC1.put(request.getParameter("w83bNuevaListaDiferenciaC1Bean.sindicato").toUpperCase(), listaDiferenciaBean);
			contexto.set("w83bListaDiferenciasC1", listaDiferenciasC1);
			String claveH=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod1()+"#H#"+request.getParameter("w83bNuevaListaDiferenciaC1Bean.sindicato");
			String claveM=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod1()+"#M#"+request.getParameter("w83bNuevaListaDiferenciaC1Bean.sindicato");
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaDiferenciaC1Bean.hombres"))&&!request.getParameter("w83bNuevaListaDiferenciaC1Bean.hombres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC1Bean.hombres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveH)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveH))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveH));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveH,String.valueOf(valor));
			}
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaDiferenciaC1Bean.mujeres"))&&!request.getParameter("w83bNuevaListaDiferenciaC1Bean.mujeres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC1Bean.mujeres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveM)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveM))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveM));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveM, String.valueOf(valor));
			}
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("addDiferenciasC2")){
			listaDiferenciaBean.setHombres(request.getParameter("w83bNuevaListaDiferenciaC2Bean.hombres"));
			listaDiferenciaBean.setMujeres(request.getParameter("w83bNuevaListaDiferenciaC2Bean.mujeres"));
			listaDiferenciaBean.setSindicato(request.getParameter("w83bNuevaListaDiferenciaC2Bean.sindicato").toUpperCase());
			listaDiferenciaBean.setDescripcionSindicato(request.getParameter("descripcionSindicato").toUpperCase());
			listaDiferenciaBean.setNuevo(true);
			listaDiferenciaBean.setCodColegio(((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod2());
			listaDiferenciaBean.setFlag(W83bClsConstantes.MODO_ALTA);
			if(contexto.get("w83bListaDiferenciasC2")!=null&&((HashMap)contexto.get("w83bListaDiferenciasC2")).size()>0){
				listaDiferenciasC2=(HashMap)contexto.get("w83bListaDiferenciasC2");
			}
			listaDiferenciasC2.put(request.getParameter("w83bNuevaListaDiferenciaC2Bean.sindicato").toUpperCase(), listaDiferenciaBean);
			contexto.set("w83bListaDiferenciasC2", listaDiferenciasC2);
			String claveH=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod2()+"#H#"+request.getParameter("w83bNuevaListaDiferenciaC2Bean.sindicato");
			String claveM=((W83bColegiosBean)contexto.get("w83bColegiosBean")).getCod2()+"#M#"+request.getParameter("w83bNuevaListaDiferenciaC2Bean.sindicato");
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaDiferenciaC2Bean.hombres"))&&!request.getParameter("w83bNuevaListaDiferenciaC2Bean.hombres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC2Bean.hombres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveH)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveH))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveH));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveH,String.valueOf(valor));
			}
			if(!StringUtils.isEmpty(request.getParameter("w83bNuevaListaDiferenciaC2Bean.mujeres"))&&!request.getParameter("w83bNuevaListaDiferenciaC2Bean.mujeres").equals("0")){
				int valor=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC2Bean.mujeres"));
				if(w83bdelegadosEscrutinioDiferencia.get(claveM)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveM))){
					valor=valor+Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveM));
				}
				w83bdelegadosEscrutinioDiferencia.put(claveM, String.valueOf(valor));
			}
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("addDelegado")){
			listaDelegadosBean.setDni(request.getParameter("w83bNuevaListaDelegadoBean.dni").toUpperCase());
			listaDelegadosBean.setNombre(request.getParameter("w83bNuevaListaDelegadoBean.nombre").toUpperCase());
			listaDelegadosBean.setApellido1(request.getParameter("w83bNuevaListaDelegadoBean.apellido1").toUpperCase());
			listaDelegadosBean.setApellido2(request.getParameter("w83bNuevaListaDelegadoBean.apellido2").toUpperCase());
			listaDelegadosBean.setSexo(request.getParameter("w83bNuevaListaDelegadoBean.sexo").toUpperCase());
			listaDelegadosBean.setSindicato(request.getParameter("descripcionSindicato"));
			listaDelegadosBean.setCodSindicato(request.getParameter("w83bNuevaListaDelegadoBean.codSindicato"));
			listaDelegadosBean.setFechaAlta(request.getParameter("w83bNuevaListaDelegadoBean.fechaAlta"));
			listaDelegadosBean.setBaja(W83bClsConstantes.ALTA);
			listaDelegadosBean.setDniSustituto(request.getParameter("w83bNuevaListaDelegadoBean.dniSustituto").toUpperCase());
			listaDelegadosBean.setNuevo(true);
			listaDelegadosBean.setFlag(W83bClsConstantes.MODO_ALTA);
			if(contexto.get("w83bListaDelegados")!=null&&((HashMap)contexto.get("w83bListaDelegados")).size()>0){
				listaDelegados=(HashMap)contexto.get("w83bListaDelegados");
			}
			
			W83bColegiosBean colegios=(W83bColegiosBean)contexto.get("w83bColegiosBean");
			String colegio="0";
			if (Integer.parseInt(colegios.getCod1())==Integer.parseInt(W83bClsConstantes.CONSTANTE_ESPECIALISTAS_NOCUALIFICADOS_NUM)){
				listaDelegadosBean.setColegio(W83bClsConstantes.CONSTANTE_DESCRIP_ESPECIALISTAS);
			}
			else{
				listaDelegadosBean.setColegio(W83bClsConstantes.CONSTANTE_DESCRIP_TECNICOS);
			}
			//listaDelegadosBean.setColegio(colegios.getDescripcion1());
			listaDelegadosBean.setCodColegio(colegios.getCod1());
			listaDelegadosBean.setFlag(W83bClsConstantes.MODO_ALTA);
			if(Integer.parseInt(request.getParameter("w83bNuevaListaDelegadoBean.colegio"))==Integer.parseInt(W83bClsConstantes.CONSTANTE_ESPECIALISTAS_NOCUALIFICADOS_NUM)){
				colegio="1";
				listaDelegadosBean.setCodColegio(colegios.getCod2());
				//listaDelegadosBean.setColegio(colegios.getDescripcion2());
				listaDelegadosBean.setColegio(W83bClsConstantes.CONSTANTE_DESCRIP_ESPECIALISTAS);
			}
			listaDelegados.put(request.getParameter("w83bNuevaListaDelegadoBean.dni").toUpperCase(), listaDelegadosBean);
			contexto.set("w83bListaDelegados", listaDelegados);
			String clave=colegio+"#"+request.getParameter("w83bNuevaListaDelegadoBean.sexo").toUpperCase()+"#"+request.getParameter("w83bNuevaListaDelegadoBean.codSindicato");
			if(w83bdelegadosDelegado.get(clave)!=null){
				int del=Integer.parseInt((String)w83bdelegadosDelegado.get(clave))+1;
				w83bdelegadosDelegado.put(clave, String.valueOf(del));
			}
			else{
				w83bdelegadosDelegado.put(clave, "1");
			}
			
			contexto.set("w83bdelegadosDelegado", w83bdelegadosDelegado);
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("borrarEscrutiniosC1"))
		{
			if(contexto.get("w83bListaEscrutiniosC1")!=null&&((HashMap)contexto.get("w83bListaEscrutiniosC1")).size()>0){
				listaEscrutiniosC1=(HashMap)contexto.get("w83bListaEscrutiniosC1");
			}
			if(contexto.get("w83bListaEscrutiniosC1Borrados")!=null&&((HashMap)contexto.get("w83bListaEscrutiniosC1Borrados")).size()>0){
				listaEscrutiniosC1Borrados=(HashMap)contexto.get("w83bListaEscrutiniosC1Borrados");
			}
			String seleccionados = (String)request.getParameter("seleccionados");
			String[] listaSel=seleccionados.split("__");
			for(int i=0,size=listaSel.length;i<size;i++){
				String lista=listaSel[i];
				String[] listaSeleccionados = lista.split("_");
				for(int p=0;p<listaSeleccionados.length;p++){
					if(StringUtils.isNotEmpty(listaSeleccionados[p])&&p!= 0){
						listaEscrutiniosC1Borrados.put(listaSeleccionados[p], listaEscrutiniosC1.get(listaSeleccionados[p]));
						W83bListaEscrutiniosBean escr=(W83bListaEscrutiniosBean)listaEscrutiniosC1.get(listaSeleccionados[p]);
						if(!StringUtils.isEmpty(escr.getMujeres())&&escr.getMujeres()!="0"){
							String clave=escr.getCodColegio()+"#M#"+escr.getSindicato();
							//cogemos el valor a borrar
							int mujeresBorrar=Integer.parseInt(escr.getMujeres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-mujeresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
						}
						if(!StringUtils.isEmpty(escr.getHombres())&&escr.getHombres()!="0"){
							String clave=escr.getCodColegio()+"#H#"+escr.getSindicato();
							//cogemos el valor a borrar
							int hombresBorrar=Integer.parseInt(escr.getHombres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-hombresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
							
							
						}
						
						
						listaEscrutiniosC1.remove(listaSeleccionados[p]);
						/*String clave=
						w83bdelegadosEscrutinio*/
					}
				}
			}
			contexto.set("w83bListaEscrutiniosC1Borrados", listaEscrutiniosC1Borrados);
			contexto.set("w83bListaEscrutiniosC1", listaEscrutiniosC1);
			contexto.set("w83bdelegadosEscrutinioDiferencia",w83bdelegadosEscrutinioDiferencia);
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("borrarEscrutiniosC2"))
		{
			if(contexto.get("w83bListaEscrutiniosC2")!=null&&((HashMap)contexto.get("w83bListaEscrutiniosC2")).size()>0){
				listaEscrutiniosC2=(HashMap)contexto.get("w83bListaEscrutiniosC2");
			}
			if(contexto.get("w83bListaEscrutiniosC2Borrados")!=null&&((HashMap)contexto.get("w83bListaEscrutiniosC2Borrados")).size()>0){
				listaEscrutiniosC2Borrados=(HashMap)contexto.get("w83bListaEscrutiniosC2Borrados");
			}
			String seleccionados = (String)request.getParameter("seleccionados");
			String[] listaSel=seleccionados.split("__");
			for(int i=0,size=listaSel.length;i<size;i++){
				String lista=listaSel[i];
				String[] listaSeleccionados = lista.split("_");
				for(int p=0;p<listaSeleccionados.length;p++){
					if(StringUtils.isNotEmpty(listaSeleccionados[p])&&p!= 0){
						listaEscrutiniosC2Borrados.put(listaSeleccionados[p], listaEscrutiniosC2.get(listaSeleccionados[p]));
						W83bListaEscrutiniosBean escr=(W83bListaEscrutiniosBean)listaEscrutiniosC2.get(listaSeleccionados[p]);
						if(!StringUtils.isEmpty(escr.getHombres())&&escr.getHombres()!="0"){
							String clave=escr.getCodColegio()+"#H#"+escr.getSindicato();
							//cogemos el valor a borrar
							int hombresBorrar=Integer.parseInt(escr.getHombres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-hombresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
						}
						if(!StringUtils.isEmpty(escr.getMujeres())&&escr.getMujeres()!="0"){
							String clave=escr.getCodColegio()+"#M#"+escr.getSindicato();
							//cogemos el valor a borrar
							int mujeresBorrar=Integer.parseInt(escr.getMujeres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-mujeresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
						}
						listaEscrutiniosC2.remove(listaSeleccionados[p]);
						
					}
				}
			}
			contexto.set("w83bListaEscrutiniosC2Borrados", listaEscrutiniosC2Borrados);
			contexto.set("w83bListaEscrutiniosC2", listaEscrutiniosC2);
			contexto.set("w83bdelegadosEscrutinioDiferencia",w83bdelegadosEscrutinioDiferencia);
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("borrarDiferenciasC1"))
		{
			if(contexto.get("w83bListaDiferenciasC1")!=null&&((HashMap)contexto.get("w83bListaDiferenciasC1")).size()>0){
				listaDiferenciasC1=(HashMap)contexto.get("w83bListaDiferenciasC1");
			}
			if(contexto.get("w83bListaDiferenciasC1Borrados")!=null&&((HashMap)contexto.get("w83bListaDiferenciasC1Borrados")).size()>0){
				listaDiferenciasC1Borrados=(HashMap)contexto.get("w83bListaDiferenciasC1Borrados");
			}
			String seleccionados = (String)request.getParameter("seleccionados");
			String[] listaSel=seleccionados.split("__");
			for(int i=0,size=listaSel.length;i<size;i++){
				String lista=listaSel[i];
				String[] listaSeleccionados = lista.split("_");
				for(int p=0;p<listaSeleccionados.length;p++){
					if(StringUtils.isNotEmpty(listaSeleccionados[p])&&p!= 0){
						listaDiferenciasC1Borrados.put(listaSeleccionados[p], listaDiferenciasC1.get(listaSeleccionados[p]));
						W83bListaDiferenciasBean dif=(W83bListaDiferenciasBean)listaDiferenciasC1.get(listaSeleccionados[p]);
						if(!StringUtils.isEmpty(dif.getHombres())&&dif.getHombres()!="0"){
							String clave=dif.getCodColegio()+"#H#"+dif.getSindicato();
							//cogemos el valor a borrar
							int hombresBorrar=Integer.parseInt(dif.getHombres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-hombresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
						}
						if(!StringUtils.isEmpty(dif.getMujeres())&&dif.getMujeres()!="0"){
							String clave=dif.getCodColegio()+"#M#"+dif.getSindicato();
							//cogemos el valor a borrar
							int mujeresBorrar=Integer.parseInt(dif.getMujeres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-mujeresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
						}
						listaDiferenciasC1.remove(listaSeleccionados[p]);
						
					}
				}
			}
			contexto.set("w83bListaDiferenciasC1Borrados", listaDiferenciasC1Borrados);
			contexto.set("w83bListaDiferenciasC1", listaDiferenciasC1);
			contexto.set("w83bdelegadosEscrutinioDiferencia",w83bdelegadosEscrutinioDiferencia);
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("borrarDiferenciasC2"))
		{
			if(contexto.get("w83bListaDiferenciasC2")!=null&&((HashMap)contexto.get("w83bListaDiferenciasC2")).size()>0){
				listaDiferenciasC2=(HashMap)contexto.get("w83bListaDiferenciasC2");
			}
			if(contexto.get("w83bListaDiferenciasC2Borrados")!=null&&((HashMap)contexto.get("w83bListaDiferenciasC2Borrados")).size()>0){
				listaDiferenciasC2Borrados=(HashMap)contexto.get("w83bListaDiferenciasC2Borrados");
			}
			String seleccionados = (String)request.getParameter("seleccionados");
			String[] listaSel=seleccionados.split("__");
			for(int i=0,size=listaSel.length;i<size;i++){
				String lista=listaSel[i];
				String[] listaSeleccionados = lista.split("_");
				for(int p=0;p<listaSeleccionados.length;p++){
					if(StringUtils.isNotEmpty(listaSeleccionados[p])&&p!= 0){
						listaDiferenciasC2Borrados.put(listaSeleccionados[p], listaDiferenciasC2.get(listaSeleccionados[p]));
						W83bListaDiferenciasBean dif=(W83bListaDiferenciasBean)listaDiferenciasC2.get(listaSeleccionados[p]);
						if(!StringUtils.isEmpty(dif.getMujeres())&&dif.getMujeres()!="0"){
							String clave=dif.getCodColegio()+"#M#"+dif.getSindicato();
							//cogemos el valor a borrar
							int mujeresBorrar=Integer.parseInt(dif.getMujeres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-mujeresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
						}
						if(!StringUtils.isEmpty(dif.getHombres())&&dif.getHombres()!="0"){
							String clave=dif.getCodColegio()+"#H#"+dif.getSindicato();
							//cogemos el valor a borrar
							int hombresBorrar=Integer.parseInt(dif.getHombres());
							//recogemos el valor que existe
							int valorAnterior=0;
							if(w83bdelegadosEscrutinioDiferencia.get(clave)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(clave))){
								valorAnterior=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(clave));
							}
							int valorNuevo=valorAnterior-hombresBorrar;
							w83bdelegadosEscrutinioDiferencia.remove(clave);
							//borramos el valor anterior
							if(valorNuevo!=0){
								//metemos el valor nuevo
								w83bdelegadosEscrutinioDiferencia.put(clave,String.valueOf(valorNuevo));
							}
						}
						
						listaDiferenciasC2.remove(listaSeleccionados[p]);
						
					}
				}
			}
			contexto.set("w83bListaDiferenciasC2Borrados", listaDiferenciasC2Borrados);
			contexto.set("w83bListaDiferenciasC2", listaDiferenciasC2);
			contexto.set("w83bdelegadosEscrutinioDiferencia",w83bdelegadosEscrutinioDiferencia);
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("borrarDelegado"))
		{
			if(contexto.get("w83bListaDelegados")!=null&&((HashMap)contexto.get("w83bListaDelegados")).size()>0){
				listaDelegados=(HashMap)contexto.get("w83bListaDelegados");
			}

			String seleccionados = (String)request.getParameter("seleccionados");
			String[] listaSel=seleccionados.split("__");
			for(int i=0,size=listaSel.length;i<size;i++){
				String lista=listaSel[i];
				String[] listaSeleccionados = lista.split("_");
				for(int p=0;p<listaSeleccionados.length;p++){
					if(StringUtils.isNotEmpty(listaSeleccionados[p])&&p!= 0){
						W83bListaDelegadosBean delegado=(W83bListaDelegadosBean)listaDelegados.get(listaSeleccionados[p]);
						delegado.setFechaBaja(request.getParameter("w83bNuevaListaDelegadoBean.fechaBajaBorrar"));
						delegado.setCodBaja(request.getParameter("w83bNuevaListaDelegadoBean.motivoBajaBorrar"));
						delegado.setMotivoBaja(request.getParameter("descripcionMotivo"));
						if(StringUtils.isEmpty(delegado.getFlag())){
							delegado.setFlag(W83bClsConstantes.MODO_EDICION);
						}

						String clave=delegado.getCodColegio()+"#"+delegado.getSexo()+"#"+delegado.getCodSindicato();
						int del=Integer.parseInt((String)w83bdelegadosDelegado.get(clave));
						if(del>0){
							del--;
							w83bdelegadosDelegado.put(clave, String.valueOf(del));
						}
						else{
							w83bdelegadosDelegado.remove(clave);
						}
						
						
					}
				}
			}

			contexto.set("w83bListaDelegados", listaDelegados);
			contexto.set("w83bdelegadosDelegado", w83bdelegadosDelegado);
		}
		if(!contexto.get("action").toString().equalsIgnoreCase("findActas")
				&&!contexto.get("action").toString().equalsIgnoreCase("editEscrutiniosC2")
				&&!contexto.get("action").toString().equalsIgnoreCase("editEscrutiniosC1")
				&&!contexto.get("action").toString().equalsIgnoreCase("editDiferenciasC1")
				&&!contexto.get("action").toString().equalsIgnoreCase("editDiferenciasC2")
				&&!contexto.get("action").toString().equalsIgnoreCase("editDelegados")
				&&!contexto.get("action").toString().equalsIgnoreCase("borrarEscrutiniosC1")
				&&!contexto.get("action").toString().equalsIgnoreCase("borrarEscrutiniosC2")
				&&!contexto.get("action").toString().equalsIgnoreCase("buscarSindicatoColegio")
				&&!contexto.get("action").toString().equalsIgnoreCase("buscarDniDelegados")
				&&!contexto.get("action").toString().equalsIgnoreCase("buscarDniSustitutoDelegados")
				&&!contexto.get("action").toString().equalsIgnoreCase("buscarDetalle")
				&&!contexto.get("action").toString().equalsIgnoreCase("buscarSindicatoTabla")){
			W83bActasBean actasBean = (W83bActasBean)contexto.get("w83bNuevaActaBean");//w83bActasBean
			actasBean = (W83bActasBean)W83bUtilidadesComunes.inicializarPaginador(request, actasBean);			
			contexto.set("w83bNuevaActaBean",actasBean);
		}
		
		else if(contexto.get("action").toString().equalsIgnoreCase("findActas"))
		{
			if(request.getParameter("territorio")!=null){
				W83bActasBean actasBean = (W83bActasBean)contexto.get("w83bNuevaActaBean");
				actasBean.setNumActa(request.getParameter("acta"));
				actasBean.setNumActaAno(request.getParameter("anyo"));
				actasBean.setNumActaTerritorio(request.getParameter("territorio"));
				contexto.set("w83bNuevaActaBean",actasBean);
			}
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("buscarSindicatoColegio"))
		{
			//deberia buscar el sindicato en las otras listas
			HashMap listaBuscar=new HashMap();
			
			contexto.set("sindicatoExistente","no");
			listaBuscar=(HashMap)contexto.get("w83bdelegadosEscrutinioDiferencia");
			if(!"".equals(request.getParameter("colegio"))&&Integer.parseInt(request.getParameter("colegio"))==Integer.parseInt(W83bClsConstantes.CONSTANTE_TECNICOS_ADMINISTRATIVOS_NUM)){
			//if(request.getParameter("colegio").equalsIgnoreCase("T")){
				if(listaBuscar.containsKey("0#H#"+request.getParameter("sindicato").toUpperCase())||listaBuscar.containsKey("0#M#"+request.getParameter("sindicato").toUpperCase())){
					contexto.set("sindicatoExistente","si");
				}
			}
			else{
				if(listaBuscar.containsKey("1#H#"+request.getParameter("sindicato").toUpperCase())||listaBuscar.containsKey("1#M#"+request.getParameter("sindicato").toUpperCase())){
					contexto.set("sindicatoExistente","si");
				}
			}
			
			
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("buscarDniDelegados"))
		{
			HashMap listaBuscar=new HashMap();
			contexto.set("dniExistente","no");
			if(contexto.get("w83bListaDelegados")!=null){
				listaBuscar=(HashMap)contexto.get("w83bListaDelegados");
				if(listaBuscar.containsKey(request.getParameter("dni").toUpperCase())){
					contexto.set("dniExistente","si");
				}
			}
		}
		else if(contexto.get("action").toString().equalsIgnoreCase("buscarDniSustitutoDelegados"))
		{
			HashMap listaBuscar=new HashMap();
			contexto.set("dniExistente","no");
			if(contexto.get("w83bListaDelegados")!=null){
				listaBuscar=(HashMap)contexto.get("w83bListaDelegados");
				if(listaBuscar.containsKey(request.getParameter("dni").toUpperCase())
						&&
					StringUtils.isEmpty(((W83bListaDelegadosBean)listaBuscar.get(request.getParameter("dni").toUpperCase())).getFlag())
						){
					contexto.set("dniExistente","si");
				}
			}
		}
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String action = (String)contexto.get("action");
		HashMap w83bdelegadosEscrutinioDiferencia=new HashMap();
		HashMap w83bdelegadosDelegado=new HashMap();
		if(contexto.get("w83bdelegadosEscrutinioDiferencia")!=null)
			w83bdelegadosEscrutinioDiferencia=(HashMap)contexto.get("w83bdelegadosEscrutinioDiferencia");
		if(contexto.get("w83bdelegadosDelegado")!=null)
			w83bdelegadosDelegado=(HashMap)contexto.get("w83bdelegadosDelegado");
		W83bActasBean actasBean = (W83bActasBean)contexto.get("w83bNuevaActaBean");
	
		if ("find".equals(action)||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}
		
		}
		else if("findActas".equals(action)){
			return mapping.findForward("findActas");
		}
		else if ("editEscrutiniosC1".equals(action)){
			HashMap listaEscrutiniosC1=(HashMap)contexto.get("w83bListaEscrutiniosC1");
			String id = request.getParameter("w83bNuevaListaEscrutinioC1Bean.sindicato").toUpperCase();//es el id
			W83bListaEscrutiniosBean escrutinioModificar=(W83bListaEscrutiniosBean)listaEscrutiniosC1.get(id);
			String claveVvieja=escrutinioModificar.getCodColegio()+"#H#"+escrutinioModificar.getSindicato();
			String claveMvieja=escrutinioModificar.getCodColegio()+"#M#"+escrutinioModificar.getSindicato();
			//recogemos el valor anterior del que estamos modificando
			int valorAnteriorHombres=Integer.parseInt(escrutinioModificar.getHombres());
			int valorAnteriorMujeres=Integer.parseInt(escrutinioModificar.getMujeres());
			//cogemos el valor de la lista
			int hombresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveVvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja))){
				hombresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja));
			}
			int mujeresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveMvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja))){
				mujeresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja));
			}
			//los valores nuevos
			int valorActualHombres=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC1Bean.hombres"));
			int valorActualMujeres=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC1Bean.mujeres"));
			//los valores que debemos insertar
			int hombres=hombresLista-valorAnteriorHombres+valorActualHombres;
			int mujeres=mujeresLista-valorAnteriorMujeres+valorActualMujeres;
			
			escrutinioModificar.setHombres(String.valueOf(valorActualHombres));
			escrutinioModificar.setMujeres(String.valueOf(valorActualMujeres));
			escrutinioModificar.setNumVotos(request.getParameter("w83bNuevaListaEscrutinioC1Bean.numVotos"));
			if(StringUtils.isEmpty(escrutinioModificar.getFlag())){
				escrutinioModificar.setFlag(W83bClsConstantes.MODO_EDICION);
			}
			listaEscrutiniosC1.put(id, escrutinioModificar);
			contexto.set("w83bListaEscrutiniosC1",listaEscrutiniosC1);
			//borramos el anterior
			w83bdelegadosEscrutinioDiferencia.remove(claveMvieja);
			if(mujeres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveMvieja,String.valueOf(mujeres));
			}
			w83bdelegadosEscrutinioDiferencia.remove(claveVvieja);
			if(hombres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveVvieja,String.valueOf(hombres));
			}
		
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
		}
		else if (action.equalsIgnoreCase("editEscrutiniosC2")){
			HashMap listaEscrutiniosC2=(HashMap)contexto.get("w83bListaEscrutiniosC2");
			String id = request.getParameter("w83bNuevaListaEscrutinioC2Bean.sindicato").toUpperCase();//es el id
			W83bListaEscrutiniosBean escrutinioModificar=(W83bListaEscrutiniosBean)listaEscrutiniosC2.get(id);
			String claveVvieja=escrutinioModificar.getCodColegio()+"#H#"+escrutinioModificar.getSindicato();
			String claveMvieja=escrutinioModificar.getCodColegio()+"#M#"+escrutinioModificar.getSindicato();
			//recogemos el valor anterior del que estamos modificando
			int valorAnteriorHombres=Integer.parseInt(escrutinioModificar.getHombres());
			int valorAnteriorMujeres=Integer.parseInt(escrutinioModificar.getMujeres());
			//cogemos el valor de la lista
			int hombresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveVvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja))){
				hombresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja));
			}
			int mujeresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveMvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja))){
				mujeresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja));
			}
			//los valores nuevos
			int valorActualHombres=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC2Bean.hombres"));
			int valorActualMujeres=Integer.parseInt(request.getParameter("w83bNuevaListaEscrutinioC2Bean.mujeres"));
			//los valores que debemos insertar
			int hombres=hombresLista-valorAnteriorHombres+valorActualHombres;
			int mujeres=mujeresLista-valorAnteriorMujeres+valorActualMujeres;
			escrutinioModificar.setHombres(String.valueOf(valorActualHombres));
			escrutinioModificar.setMujeres(String.valueOf(valorActualMujeres));
			escrutinioModificar.setNumVotos(request.getParameter("w83bNuevaListaEscrutinioC2Bean.numVotos"));
			if(StringUtils.isEmpty(escrutinioModificar.getFlag())){
				escrutinioModificar.setFlag(W83bClsConstantes.MODO_EDICION);
			}
			listaEscrutiniosC2.put(id, escrutinioModificar);
			contexto.set("w83bListaEscrutiniosC2",listaEscrutiniosC2);
			//borramos el anterior
			w83bdelegadosEscrutinioDiferencia.remove(claveMvieja);
			if(mujeres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveMvieja,String.valueOf(mujeres));
			}
			w83bdelegadosEscrutinioDiferencia.remove(claveVvieja);
			if(hombres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveVvieja,String.valueOf(hombres));
			}
		
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
		}
		else if ("editDiferenciasC1".equals(action)){
			HashMap listaDiferenciasC1=(HashMap)contexto.get("w83bListaDiferenciasC1");
			String id = request.getParameter("w83bNuevaListaDiferenciaC1Bean.sindicato").toUpperCase();//es el id
			W83bListaDiferenciasBean diferenciaModificar=(W83bListaDiferenciasBean)listaDiferenciasC1.get(id);
			String claveVvieja=diferenciaModificar.getCodColegio()+"#H#"+diferenciaModificar.getSindicato();
			String claveMvieja=diferenciaModificar.getCodColegio()+"#M#"+diferenciaModificar.getSindicato();
			//recogemos el valor anterior del que estamos modificando
			int valorAnteriorHombres=Integer.parseInt(diferenciaModificar.getHombres());
			int valorAnteriorMujeres=Integer.parseInt(diferenciaModificar.getMujeres());
			//cogemos el valor de la lista
			int hombresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveVvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja))){
				hombresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja));
			}
			int mujeresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveMvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja))){
				mujeresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja));
			}
			//los valores nuevos
			int valorActualHombres=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC1Bean.hombres"));
			int valorActualMujeres=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC1Bean.mujeres"));
			//los valores que debemos insertar
			int hombres=hombresLista-valorAnteriorHombres+valorActualHombres;
			int mujeres=mujeresLista-valorAnteriorMujeres+valorActualMujeres;
			
			diferenciaModificar.setHombres(String.valueOf(valorActualHombres));
			diferenciaModificar.setMujeres(String.valueOf(valorActualMujeres));
			if(StringUtils.isEmpty(diferenciaModificar.getFlag())){
				diferenciaModificar.setFlag(W83bClsConstantes.MODO_EDICION);
			}
			//diferenciaModificar.setNumVotos(request.getParameter("numVotosDifC1"));
			listaDiferenciasC1.put(id, diferenciaModificar);
			contexto.set("w83bListaDiferenciasC1",listaDiferenciasC1);
			//borramos el anterior
			w83bdelegadosEscrutinioDiferencia.remove(claveMvieja);
			if(mujeres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveMvieja,String.valueOf(mujeres));
			}
			w83bdelegadosEscrutinioDiferencia.remove(claveVvieja);
			if(hombres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveVvieja,String.valueOf(hombres));
			}
		
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
		}
		else if ("editDiferenciasC2".equals(action)){
			HashMap listaDiferenciasC2=(HashMap)contexto.get("w83bListaDiferenciasC2");
			String id = request.getParameter("w83bNuevaListaDiferenciaC2Bean.sindicato").toUpperCase();//es el id
			W83bListaDiferenciasBean diferenciaModificar=(W83bListaDiferenciasBean)listaDiferenciasC2.get(id);
			String claveVvieja=diferenciaModificar.getCodColegio()+"#H#"+diferenciaModificar.getSindicato();
			String claveMvieja=diferenciaModificar.getCodColegio()+"#M#"+diferenciaModificar.getSindicato();
			//recogemos el valor anterior del que estamos modificando
			int valorAnteriorHombres=Integer.parseInt(diferenciaModificar.getHombres());
			int valorAnteriorMujeres=Integer.parseInt(diferenciaModificar.getMujeres());
			//cogemos el valor de la lista
			int hombresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveVvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja))){
				hombresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveVvieja));
			}
			int mujeresLista=0;
			if(w83bdelegadosEscrutinioDiferencia.get(claveMvieja)!=null&&StringUtils.isNotEmpty((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja))){
				mujeresLista=Integer.parseInt((String)w83bdelegadosEscrutinioDiferencia.get(claveMvieja));
			}
			//los valores nuevos
			int valorActualHombres=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC2Bean.hombres"));
			int valorActualMujeres=Integer.parseInt(request.getParameter("w83bNuevaListaDiferenciaC2Bean.mujeres"));
			//los valores que debemos insertar
			int hombres=hombresLista-valorAnteriorHombres+valorActualHombres;
			int mujeres=mujeresLista-valorAnteriorMujeres+valorActualMujeres;
			diferenciaModificar.setHombres(String.valueOf(valorActualHombres));
			diferenciaModificar.setMujeres(String.valueOf(valorActualMujeres));
			if(StringUtils.isEmpty(diferenciaModificar.getFlag())){
				diferenciaModificar.setFlag(W83bClsConstantes.MODO_EDICION);
			}
			//diferenciaModificar.setNumVotos(request.getParameter("numVotosDifC2"));
			listaDiferenciasC2.put(id, diferenciaModificar);
			contexto.set("w83bListaDiferenciasC2",listaDiferenciasC2);
			//borramos el anterior
			w83bdelegadosEscrutinioDiferencia.remove(claveMvieja);
			if(mujeres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveMvieja,String.valueOf(mujeres));
			}
			w83bdelegadosEscrutinioDiferencia.remove(claveVvieja);
			if(hombres!=0){
				w83bdelegadosEscrutinioDiferencia.put(claveVvieja,String.valueOf(hombres));
			}
		
			contexto.set("w83bdelegadosEscrutinioDiferencia", w83bdelegadosEscrutinioDiferencia);
			
		}
		else if ("editDelegados".equals(action)){
			HashMap listaDelegados=(HashMap)contexto.get("w83bListaDelegados");
			String id = request.getParameter("dniDelegadoAnterior").toUpperCase();//es el id//antes era w83bNuevaListaDelegadoBean.dniEditar
			String idNuevo = request.getParameter("w83bNuevaListaDelegadoBean.dniEditar").toUpperCase();
			W83bListaDelegadosBean delegadoModificar=(W83bListaDelegadosBean)listaDelegados.get(id);
			String clave=delegadoModificar.getCodColegio()+"#"+delegadoModificar.getSexo()+"#"+delegadoModificar.getCodSindicato();
			delegadoModificar.setSindicato(request.getParameter("descripcionSindicato"));
			delegadoModificar.setCodSindicato(request.getParameter("w83bNuevaListaDelegadoBean.codSindicatoEditar"));
			delegadoModificar.setDni(request.getParameter("w83bNuevaListaDelegadoBean.dniEditar").toUpperCase());
			delegadoModificar.setDniSustituto(request.getParameter("w83bNuevaListaDelegadoBean.dniSustitutoEditar").toUpperCase());
			delegadoModificar.setNombre(request.getParameter("w83bNuevaListaDelegadoBean.nombreEditar").toUpperCase());
			delegadoModificar.setApellido1(request.getParameter("w83bNuevaListaDelegadoBean.apellido1Editar").toUpperCase());
			delegadoModificar.setApellido2(request.getParameter("w83bNuevaListaDelegadoBean.apellido2Editar").toUpperCase());
			delegadoModificar.setSexo(request.getParameter("w83bNuevaListaDelegadoBean.sexoEditar"));
			delegadoModificar.setCodBaja(request.getParameter("w83bNuevaListaDelegadoBean.motivoBajaEditar"));
			delegadoModificar.setMotivoBaja(request.getParameter("descripcionBaja").toUpperCase());
			delegadoModificar.setFechaAlta(request.getParameter("w83bNuevaListaDelegadoBean.fechaAltaEditar"));
			//para cuando crea una incidencia modificando el dni del delegado
			delegadoModificar.setDniEditar(id);
			if(StringUtils.isEmpty(delegadoModificar.getFlag())){
				delegadoModificar.setFlag(W83bClsConstantes.MODO_EDICION);
			}
			W83bColegiosBean colegios=(W83bColegiosBean)contexto.get("w83bColegiosBean");
			String colegio="0";
			//delegadoModificar.setColegio(colegios.getDescripcion1());
			if (Integer.parseInt(colegios.getCod1())==Integer.parseInt(W83bClsConstantes.CONSTANTE_ESPECIALISTAS_NOCUALIFICADOS_NUM)){
				delegadoModificar.setColegio(W83bClsConstantes.CONSTANTE_DESCRIP_ESPECIALISTAS);
			}
			else{
				delegadoModificar.setColegio(W83bClsConstantes.CONSTANTE_DESCRIP_TECNICOS);
			}
			delegadoModificar.setCodColegio(colegios.getCod1());
			//if(!request.getParameter("w83bNuevaListaDelegadoBean.colegioEditar").equals("T")){
			if(Integer.parseInt(request.getParameter("w83bNuevaListaDelegadoBean.colegioEditar"))==Integer.parseInt(W83bClsConstantes.CONSTANTE_ESPECIALISTAS_NOCUALIFICADOS_NUM)){
				colegio="1";
				//delegadoModificar.setColegio(colegios.getDescripcion2());
				delegadoModificar.setColegio(W83bClsConstantes.CONSTANTE_DESCRIP_ESPECIALISTAS);
				delegadoModificar.setCodColegio(colegios.getCod2());
			}
			String nuevaClave=colegio+"#"+delegadoModificar.getSexo()+"#"+delegadoModificar.getCodSindicato();
			int del=0;
			if(!(StringUtils.isNotEmpty(delegadoModificar.getFechaBaja())&&StringUtils.isEmpty(request.getParameter("w83bNuevaListaDelegadoBean.fechaBajaEditar")))){
				if(StringUtils.isNotEmpty((String)w83bdelegadosDelegado.get(clave))){
					del=Integer.parseInt((String)w83bdelegadosDelegado.get(clave));
				}
				del--;
				w83bdelegadosDelegado.put(clave, String.valueOf(del));
			}
			int delNueva=0;
			if(StringUtils.isNotEmpty((String)w83bdelegadosDelegado.get(nuevaClave))){
				delNueva=Integer.parseInt((String)w83bdelegadosDelegado.get(nuevaClave));
			}
			delNueva++;
			if(StringUtils.isEmpty(delegadoModificar.getFechaBaja())&&StringUtils.isNotEmpty(request.getParameter("w83bNuevaListaDelegadoBean.fechaBajaEditar"))){
				delNueva--;
			}
			
//			if(StringUtils.isNotEmpty(delegadoModificar.getFechaBaja())&&StringUtils.isEmpty(request.getParameter("w83bNuevaListaDelegadoBean.fechaBajaEditar"))){
//				delNueva++;
//			}
			delegadoModificar.setFechaBaja(request.getParameter("w83bNuevaListaDelegadoBean.fechaBajaEditar"));
			w83bdelegadosDelegado.put(nuevaClave, String.valueOf(delNueva));
			listaDelegados.remove(id);
			listaDelegados.put(idNuevo, delegadoModificar);
			contexto.set("w83bListaDelegados",listaDelegados);
			contexto.set("w83bdelegadosDelegado",w83bdelegadosDelegado);
		}
		else if(action.equalsIgnoreCase("findEscrutiniosC1")){
			actasBean.setModo("C1");
			contexto.set("w83bNuevaActaBean",actasBean);
			if(request.getParameter("cargada").equals("true")){
				return mapping.findForward("cargadaEscrutinioC1");
			}
			if(StringUtils.isNotEmpty(actasBean.getNumActa()))
				return mapping.findForward("findEscrutinioC1");
		}
		else if(action.equalsIgnoreCase("findEscrutiniosC2")){
			actasBean.setModo("C2");
			contexto.set("w83bNuevaActaBean",actasBean);
			if(request.getParameter("cargada").equals("true")){
				return mapping.findForward("cargadaEscrutinioC2");
			}
			if(StringUtils.isNotEmpty(actasBean.getNumActa()))
			return mapping.findForward("findEscrutinioC2");
		}
		else if(action.equalsIgnoreCase("findDiferenciasC1")){
			actasBean.setModo("C1");
			contexto.set("w83bNuevaActaBean",actasBean);
			if(request.getParameter("cargada").equals("true")){
				return mapping.findForward("cargadaDiferenciaC1");
			}
			if(StringUtils.isNotEmpty(actasBean.getNumActa()))
			return mapping.findForward("findDiferenciaC1");
		}
		else if(action.equalsIgnoreCase("findDiferenciasC2")){
			actasBean.setModo("C2");
			contexto.set("w83bNuevaActaBean",actasBean);
			if(request.getParameter("cargada").equals("true")){
				return mapping.findForward("cargadaDiferenciaC2");
			}
			if(StringUtils.isNotEmpty(actasBean.getNumActa()))
			return mapping.findForward("findDiferenciaC2");
		}
		else if(action.equalsIgnoreCase("findDelegados")){
			if(request.getParameter("cargada").equals("true")){
				return mapping.findForward("cargadaDelegado");
			}
			if(StringUtils.isNotEmpty(actasBean.getNumActa()))
			return mapping.findForward("findDelegado");
		}
		else{
			if(request.getParameter("action").equalsIgnoreCase("buscarSindicatoColegio"))
			{
				String sindicatoExistente=(String)contexto.get("sindicatoExistente");
				JSONObject jsonObject = new JSONObject();
				jsonObject.put("existe", "no");
				if(sindicatoExistente.equalsIgnoreCase("si")){
					jsonObject.put("existe", "si");
				}
				response.setContentType("text/javascript;charset=iso-8859-1");
				response.setHeader("Pragma", "cache");
				response.setHeader("Expires", "0");
				response.setHeader("Cache-Control", "private");
				response.setStatus(HttpServletResponse.SC_OK);
				PrintWriter out = response.getWriter();
				out.print(jsonObject.toString());
				out.flush();
				return null;	
			}
			else if(request.getParameter("action").equalsIgnoreCase("buscarDniDelegados")
					||
					request.getParameter("action").equalsIgnoreCase("buscarDniSustitutoDelegados")
					){
				String dniExistente=(String)contexto.get("dniExistente");
				JSONObject jsonObject = new JSONObject();
				jsonObject.put("existe", "no");
				if(dniExistente.equalsIgnoreCase("si")){
					jsonObject.put("existe", "si");
				}
				response.setContentType("text/javascript;charset=iso-8859-1");
				response.setHeader("Pragma", "cache");
				response.setHeader("Expires", "0");
				response.setHeader("Cache-Control", "private");
				response.setStatus(HttpServletResponse.SC_OK);
				PrintWriter out = response.getWriter();
				out.print(jsonObject.toString());
				out.flush();
				return null;	
			}
			else if(request.getParameter("action").equalsIgnoreCase("buscarSindicatoTabla"))
			{
				JSONObject jsonObject = new JSONObject();
				String sindicato=request.getParameter("sindicato");
				HashMap lista=new HashMap();
				jsonObject.put("yaExiste","no");
				if(contexto.get("w83bLista"+request.getParameter("tabla"))!=null&&((HashMap)contexto.get("w83bLista"+request.getParameter("tabla"))).size()>0){
					lista=(HashMap)contexto.get("w83bLista"+request.getParameter("tabla"));
				}
				if(lista.containsKey(sindicato)){
					jsonObject.put("yaExiste","si");
				}
				response.setContentType("text/javascript;charset=iso-8859-1");
				response.setHeader("Pragma", "cache");
				response.setHeader("Expires", "0");
				response.setHeader("Cache-Control", "private");
				response.setStatus(HttpServletResponse.SC_OK);
				PrintWriter out = response.getWriter();
				out.print(jsonObject.toString());
				out.flush();
				return null;
			}
			else if(request.getParameter("action").equalsIgnoreCase("buscarDetalle"))
			{
					HashMap lista=new HashMap();
					JSONObject jsonObject = new JSONObject();
					if(contexto.get("w83bLista"+request.getParameter("tabla"))!=null&&((HashMap)contexto.get("w83bLista"+request.getParameter("tabla"))).size()>0){
						lista=(HashMap)contexto.get("w83bLista"+request.getParameter("tabla"));
					}
					if(lista.get(request.getParameter("codigo")) instanceof W83bListaEscrutiniosBean){
						W83bListaEscrutiniosBean escrutinio=(W83bListaEscrutiniosBean)lista.get(request.getParameter("codigo"));
						jsonObject.put("sindicato", escrutinio.getSindicato());
						jsonObject.put("descripcion", escrutinio.getDescripcionSindicato());
						jsonObject.put("hombres", escrutinio.getHombres());
						jsonObject.put("mujeres", escrutinio.getMujeres());
						jsonObject.put("votos", escrutinio.getNumVotos());
					}
					else if(lista.get(request.getParameter("codigo")) instanceof W83bListaDiferenciasBean){
						W83bListaDiferenciasBean diferencia=(W83bListaDiferenciasBean)lista.get(request.getParameter("codigo"));
						jsonObject.put("sindicato", diferencia.getSindicato());
						jsonObject.put("descripcion", diferencia.getDescripcionSindicato());
						jsonObject.put("hombres", diferencia.getHombres());
						jsonObject.put("mujeres", diferencia.getMujeres());
						
					}
					else if(lista.get(request.getParameter("codigo")) instanceof W83bListaDelegadosBean){
						W83bListaDelegadosBean delegado=(W83bListaDelegadosBean)lista.get(request.getParameter("codigo"));
						jsonObject.put("codSindicato", delegado.getCodSindicato());
						if(StringUtils.isNotEmpty(delegado.getCodBaja())){
							jsonObject.put("codMotivo", delegado.getCodBaja());
						}
						else{
							jsonObject.put("codMotivo", "");
						}
						jsonObject.put("sindicato", delegado.getCodSindicato());
						jsonObject.put("codColegio", delegado.getCodColegio());
						jsonObject.put("colegio", delegado.getCodColegio());
						/*if(delegado.getCodColegio().equalsIgnoreCase(colegios.getCod1())){
							jsonObject.put("colegio", "T");
						}
						else{
							jsonObject.put("colegio", "E");
						}*/
						jsonObject.put("dni", delegado.getDni());
						jsonObject.put("nombre", delegado.getNombre());
						jsonObject.put("prim", delegado.getApellido1());
						jsonObject.put("seg", delegado.getApellido2());
						jsonObject.put("fechaAlta", delegado.getFechaAlta());
						if(StringUtils.isNotEmpty(delegado.getFechaBaja())){
							jsonObject.put("fechaBaja", delegado.getFechaBaja());
						}
						else{
							jsonObject.put("fechaBaja", "");
						}
						
						jsonObject.put("dniSustituto", delegado.getDniSustituto());
						jsonObject.put("sexo", delegado.getSexo());
					}
				
				
				response.setContentType("text/javascript;charset=iso-8859-1");
				response.setHeader("Pragma", "cache");
				response.setHeader("Expires", "0");
				response.setHeader("Cache-Control", "private");
				response.setStatus(HttpServletResponse.SC_OK);
				PrintWriter out = response.getWriter();
				out.print(jsonObject.toString());
				out.flush();
				return null;
			}
			
		}
			
			return mapping.findForward("ok");
		
	}

}
